package com.lakeworks.common.domain.ticket;


import com.lakeworks.common.domain.base.BaseDomain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.util.List;

/**
 * 工单对象 tkt_ticket
 *
 * @author lake
 * @date 2023-07-18
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class TktTicket extends BaseDomain {
    private static final long serialVersionUID = 1L;

    /**
     * 订单ID
     */
    @NotBlank(message = "订单编号不能为空")
    private String orderNo;


    private Long channelId;

    private Long channelTicketId;

    private Long relevanceId;

    /**
     * 流程ID
     */
    private Long flowId;

    /**
     * 当前节点ID
     */
    private Long nodeId;


    /**
     * 水洗码
     */
    @NotBlank(message = "水洗码不能为空")
    private String barcode;

    /**
     * 当前简述
     */
    private String summary;

    /**
     * 状态
     */
    private String status;

    /**
     * 工单类型
     */
    @NotBlank(message = "工单类型不能为空")
    private String type;

    /**
     * 工单标签
     */
    @NotBlank(message = "工单标签不能为空")
    private String title;


    private String label;

    /**
     * 优先级
     */
    private String priority;

    /**
     * 提醒时间
     */
    private Date remindAt;

    /**
     * 当前操作人
     */
    private String assignee;

    /**
     * 版本号
     */
    private Integer version;


    ///////////////////////////


    /**
     * 开始时间
     */
    private String startTime;

    /**
     * 结束时间
     */
    private String endTime;

    private List<TktTicketFile> tktTicketFiles;


    private String remark;


    //状态持续时长
    private String duration;


    //总持续时长
    private String totalDuration;


    private Date updateTime;

    private Integer pageNum;

    private Integer pageSize;

}
